"""
查询操作
"""
import MySQLdb

# 1. 创建连接对象
from MySQLdb.cursors import DictCursor

from utils import connect


class Dept:

    def __init__(self, no, name, location):
        self.no = no
        self.name = name
        self.location = location

    def __str__(self):
        return f'{self.no}\t{self.name}\t{self.location}'


if __name__ == '__main__':
    conn = connect(database='hrs')
    try:
        # 2. 获取游标对象
        with conn.cursor(cursorclass=DictCursor) as cursor:
            # 3. 通过游标对象向数据库发出SQL语句获取执行结果
            cursor.execute('select dno as no, dname as name, dloc as location from tb_dept')
            # 4. 通过游标抓取数据
            # - fetchone / - fetchmany / - fetchall
            for row in cursor.fetchall():
                dept = Dept(**row)
                print(dept)
    except MySQLdb.MySQLError as err:
        print(err)
    finally:
        # 5. 关闭数据库连接（释放资源）
        conn.close()
